home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / MYUTIL / PRTSER.M < prev    next >
Encoding:
Text File  |  1989-03-10  |  3.0 KB  |  104 lines

  1. MODULE PrtSer;
  2.  
  3. (* Bedruckt Disk-Aufkleber für M-2 *)
  4.  
  5. FROM Strings IMPORT String, Concat, Split, Delete, PosLen, Space, Length,
  6.                 Compare, Relation;
  7.  
  8. FROM Files IMPORT Access, File, Open, Close, EOF;
  9.  
  10. IMPORT Text, NumberIO;
  11.  
  12. FROM InOut IMPORT WriteString, WriteLn, Read, BusyRead, ReadCard, Done, GotoXY,
  13.         WriteCard;
  14.  
  15.  
  16. CONST   spc1 = 50;
  17.         spc2 = 100;
  18.         
  19.         ESC          = 33C;
  20.         FF           = 14C;
  21.         UnderlineOn  = '&dD';
  22.         UnderlineOff = '&d@';
  23.  
  24.  
  25. VAR printer: File;
  26.  
  27. PROCEDURE line (n:CARDINAL);
  28.   BEGIN
  29.     WHILE n>0 DO Text.WriteLn (printer); DEC (n) END
  30.   END line;
  31.  
  32. PROCEDURE spc (n:CARDINAL);
  33.   BEGIN
  34.     Text.Write (printer,15C);
  35.     WHILE n>0 DO Text.Write (printer, ' '); DEC (n) END
  36.   END spc;
  37.  
  38. PROCEDURE print;
  39.   VAR n, von, bis: CARDINAL; ch:CHAR;
  40.   BEGIN
  41.     WriteLn;
  42.     WriteString ('  Druckprogramm für Modula-2 Diskettenaufkleber');
  43.     WriteLn;
  44.     WriteLn;
  45.     WriteString ('Start bei Seriennummer: ');
  46.     ReadCard (von);
  47.     IF ~Done THEN RETURN END;
  48.     WriteLn;
  49.     WriteString ('Ende bei Seriennummer : ');
  50.     ReadCard (bis);
  51.     IF ~Done THEN RETURN END;
  52.     WriteLn;
  53.     WriteLn;
  54.     WriteString ('Aufkleber einlegen und RETURN drücken (ESC für Abbruch).');
  55.     WriteLn;
  56.     LOOP
  57.       Read (ch);
  58.       IF ch=CHR(13) THEN EXIT
  59.       ELSIF ch=33C THEN RETURN END;
  60.     END;
  61.     FOR n:= von TO bis DO
  62.       BusyRead (ch);
  63.       IF ch=33C THEN RETURN END;
  64.       GotoXY (0,10);
  65.       WriteString ('Drucke Nr. ');
  66.       WriteCard (n,4);
  67.       
  68.       line (11);
  69.       spc (spc1);
  70.       Text.WriteString (printer, 'Shell');
  71.       spc (spc2);
  72.       Text.WriteString (printer, 'Linker');
  73.       line (1);
  74.       spc (spc1);
  75.       Text.WriteString (printer, 'Compiler');
  76.       spc (spc2);
  77.       Text.WriteString (printer, 'RCP');
  78.       line (1);
  79.       spc (spc1);
  80.       Text.WriteString (printer, 'Editor');
  81.       
  82.       line (2);
  83.       spc (21);
  84.       Text.WriteString (printer, 'Serien-Nr. ');
  85.       NumberIO.WriteCard (printer, n,0);
  86.       
  87.       line (14);
  88.       spc (spc1);
  89.       Text.WriteString (printer, 'Bootdisk');
  90.       spc (spc2);
  91.       Text.WriteString (printer, 'Sources');
  92.       
  93.       Text.Write (printer, FF);
  94.     END;
  95.   END print;
  96.  
  97. BEGIN
  98.   Open ( printer, 'PRN:', writeSeqTxt );
  99.   print;
  100.   Close ( printer )
  101. END PrtSer.
  102.  
  103. (* $FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$00000284$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470$FFF95470Ç$000007DET.......T.......T.......T.......T.......T.......T.......T.......T.......T.......$00000845$000007CF$00000845$0000072A$0000089A$00000845$00000645$00000835$000007BB$00000835$00000828$0000081F$000007F4$000007DE$00000845$000007CDîÇÇ*)
  104.